package com.yxx.business.entity;

import java.math.BigDecimal;
import com.yxx.common.annotation.Excel;
import com.yxx.common.core.domain.BaseColumnEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.experimental.Accessors;
import lombok.*;

import javax.validation.constraints.NotNull;

/**
 * 设备配置Do对象 tb_equipment_config
 *
 * @author yxx
 * @date 2025-08-05
 */
@Schema(description = "设备配置Do实体")
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Builder
@Data
@TableName(value = "tb_equipment_config", autoResultMap = true)
public class TbEquipmentConfigDo extends BaseColumnEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "设备ID")
    @TableId(value = "equipment_id", type = IdType.AUTO)
    private Long equipmentId;

    @Schema(description = "设备名称")
    @TableField("equipment_name")
    @Excel(name = "设备名称")
    private String equipmentName;

    @Schema(description = "设备种类")
    @Excel(name = "配置种类(设备，材料)")
    @TableField("equipment_type")
    private String equipmentType;

    @Schema(description = "配置表单(设备列表，运输列表，建材列表，能源列表，汇碳列表)")
    @Excel(name = "配置表单(设备列表，运输列表，建材列表，能源列表，汇碳列表，回收列表)")
    @TableField("equipment_form")
    private String equipmentForm;

    @Schema(description = "单位")
    @TableField("unit")
    @Excel(name = "单位")
    private String unit;

    @Schema(description = "碳排放因子")
    @TableField("carbon_factor")
    @Excel(name = "碳排放因子")
    private BigDecimal carbonFactor;

}
